package com.skiving.cloud.test;

import cn.dev33.satoken.stp.StpUtil;
import org.noear.solon.annotation.Controller;
import org.noear.solon.annotation.Mapping;
import reactor.core.publisher.Mono;

@Controller
@Mapping("/")
public class UserController {
    // 测试登录，浏览器访问： http://localhost:8081/user/doLogin?username=zhang&password=123456
    @Mapping("doLogin")
    public Mono<String> doLogin(String username, String password) {
        // 此处仅作模拟示例，真实项目需要从数据库中查询数据进行比对
        if("zhang".equals(username) && "123456".equals(password)) {
            StpUtil.login(10001);
            return Mono.just("登录成功");
        }
        return Mono.just("登录失败");
    }

    // 查询登录状态，浏览器访问： http://localhost:8081/user/isLogin
    @Mapping("isLogin")
    public Mono<String> isLogin(String username, String password) {
        return Mono.just("当前会话是否登录：" + StpUtil.isLogin());
    }
}
